//
//  CatSleepAnimationView.swift
//  CatPomodoroTimer
//
//  Created by Xuri Li on 2024/8/12.
//

import SwiftUI

struct CatSleepAnimationView: View {
    @Binding var isSleeping: Bool
    var body: some View {
        Image("cat_sleep_01") // 使用系统的猫图标
            .resizable()
            .scaledToFit()
            .foregroundColor(.gray)
            .scaleEffect(isSleeping ? 1.1 : 1.0) // 放大缩小效果
            .opacity(isSleeping ? 0.6 : 1.0) // 透明度变化
            .animation(
                isSleeping ?
                Animation.easeInOut(duration: 1.0)
                    .repeatForever(autoreverses: true) : .default,
                value: isSleeping // 绑定动画到 `isSleeping` 状态
            )
    }
}

#Preview {
    StatePreview()
}

struct StatePreview: View {
    @State private var isSleeping = true // 使用 State 来控制动画状态
    
    var body: some View {
        CatSleepAnimationView(isSleeping: $isSleeping) // 传递绑定值
            .onAppear {
                // 可以在此处添加额外的逻辑以修改 isSleeping 状态
                // 示例：在预览中每隔 2 秒切换 `isSleeping` 状态
                Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { _ in
                    isSleeping.toggle()
                }
            }
    }
}
